// console.log('权限控制文件开始执行了')
import router from '@/router'
import store from '@/store'
const whiteList = ['/login', '/404']
import NProgress from 'nprogress' // 引入一份进度条插件
import 'nprogress/nprogress.css' // 引入进度条样式
// router.beforeEach((to, from, next) => {
//   const token = store.getters.token
//   // 开启滚动条
//   NProgress.start()
//   // 有token
//   if (token) {
//     // 如果有token且去往首页,则跳转到首页去
//     if (to.path === '/login') {
//       next('/')
//     } else {
//       // 有token 但是不是在登录页  直接放行
//       next()
//     }
//   } else {
//     // 没有token
//     // 如果白名单里面  直接放行
//     if (whiteList.includes(to.path)) {
//       next()
//     } else {
//       // 不在表名单  强制跳转登录页
//       next('/login')
//     }
//   }
//   // 关闭滚动条
//   NProgress.done()
// })
router.beforeEach((to, from, next) => {
  // 开启滚动条
  NProgress.start()
  const token = store.getters.token
  // 如果有token
  if (token) {
    // 如果在登录页面
    if (to.path === '/login') {
      // 跳转到首页
      next('/')
      // 否则直接放行
    } else {
      // 当存在userId的时候  禁止再次发送请求
      if (!store.state.user.userInfo.userId) {
        store.dispatch('user/asyncsetUserInfo').then(() => {
        })
      }
      next()
    }
    // 如果没有token
  } else {
    // 判断是否在白名单内  如果在
    if (whiteList.includes(to.path)) {
      // 直接放行
      next()
    } else { // 否则 强制跳转登录页
      next('/login')
    }
  }
  //   // 关闭滚动条
  NProgress.done()
})
